// Copyright (c) 2004 Brian Wellington (bwelling@xbill.org)

package org.xbill.DNS;

/**
 * Constants and functions relating to EDNS flags.
 * 
 * @author Brian Wellington
 */

public final class ExtendedFlags {

	private static Mnemonic extflags = new Mnemonic("EDNS Flag",
			Mnemonic.CASE_LOWER);

	/** dnssec ok */
	public static final int DO = 0x8000;

	static {
		extflags.setMaximum(0xFFFF);
		extflags.setPrefix("FLAG");
		extflags.setNumericAllowed(true);

		extflags.add(DO, "do");
	}

	private ExtendedFlags() {
	}

	/** Converts a numeric extended flag into a String */
	public static String string(int i) {
		return extflags.getText(i);
	}

	/**
	 * Converts a textual representation of an extended flag into its numeric
	 * value
	 */
	public static int value(String s) {
		return extflags.getValue(s);
	}

}
